package bank;


import java.util.Date;

import exception.KontoNichtGedecktException;


public class Sparkonto extends Konto {

    private static final long serialVersionUID = 101L;

    public static final String PROPERTYNAME_ZINSSATZ = "zinssatz";

	private double zinssatz;


	public Sparkonto(int kontonummer) {
		super(kontonummer);
		setZinssatz(0);
	}

	public double getZinssatz() {
		return zinssatz;
	}

	public void setZinssatz(double aNewValue) {
	    double oldValue = getZinssatz();
		zinssatz = aNewValue;
		firePropertyChange(PROPERTYNAME_ZINSSATZ, oldValue, getZinssatz());
	}

	@Override
	public void auszahlen(double aBetrag, Date aDate) throws KontoNichtGedecktException {
		if (getKontostand() >= aBetrag) {
			super.auszahlen(aBetrag, aDate);
		} else {
			throw new KontoNichtGedecktException();
		}
	}
}
